package com.tonghaibo.expection;

import com.tonghaibo.vo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author jitwxs
 * @date 2025年04月28日 20:33
 */
// @RestControllerAdvice 注解，这是一个全局异常处理类。
@RestControllerAdvice
public class ProjectExpectionAdvice {
    //@ExceptionHandler用于设置当前处理器类对应的异常类型
    @ExceptionHandler(BusinessException.class)
    public Result BussinessEX(BusinessException e){
        return new Result(e.getCode(),e.getMessage(),null);
    }


    @ExceptionHandler(SystemException.class)
    public Result SystemEX(SystemException e){
        return new Result(e.getCode(),e.getMessage(),null);
    }


    @ExceptionHandler(Exception.class)
    //@ExceptionHandler(Exception.class) 注解，该方法会捕获所有 Exception 类型的异常，并返回一个 Result 对象。
    public Result doExpection(Exception e){
        return new Result(100,"项目出错了！",null);
    }
}
